﻿using sipfe.model.dataAccess;
using sipfe.model.sqlExecutor;
using sipfe.util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace sipfe.model.reporte
{
   public  class ReporteDAO
    {
       private BDSIPFEEntities db = new BDSIPFEEntities();

        public List<SIPMaeSolicitud> DatosGeneralesDAO(int n_IdeSol)
        {
            return db.SIPMaeSolicitud.Where(x => x.nIdeSol == n_IdeSol).ToList();
        }

        public List<SIPMaeSolicitud> TrazabilidadDetDAO(int nIdeDepSolicitud, int nIdeClaseSolicitud, int nAnnSolicitud, int nNumCorre)
        {
            return db.SIPMaeSolicitud.Where(x => x.nIdeDepSolicitud == nIdeDepSolicitud && x.nIdeClaseSolicitud == nIdeClaseSolicitud && x.nAnnSolicitud == nAnnSolicitud && x.nNumCorre == nNumCorre).ToList();
        }

        public IList<dynamic> ReporteCargoDetDAO(string fec_IniVig, string fec_FinVig, string hora_1, string hora_2, string n_IdeDepOrigen,
                                            string n_IdeDepDestino, string nIdeClase, string nIdeDepSol, string nAnno, string nNumCorre)
        {

            string fecIniVig = UtilitariosUtil.fechaYYYYMMDDHHmm(fec_IniVig, hora_1,"1");
            string fecFinVig = UtilitariosUtil.fechaYYYYMMDDHHmm(fec_FinVig, hora_2, "2");

            String[] parametros = new String[] { fecIniVig, fecFinVig, n_IdeDepOrigen, n_IdeDepDestino, nIdeClase, nIdeDepSol, nAnno, nNumCorre };
            String[] nombreParametros = new String[] { "fec_IniVig", "fec_FinVig", "n_IdeDepOrigen", "n_IdeDepDestino", "n_IdeClase", "nIdeDepSol", "nAnno", "nNumCorre" };
            return SqlExecutorSP.executeStore("paReporteCargo", parametros, nombreParametros); ;
        }
    }
}
